package servlet;

import java.io.IOException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bdelegate.BdelegateWeb;
import beans.MesaBean;
import beans.MozoBean;
import beans.PerfilBean;
import beans.SucursalBean;

/**
 * Servlet implementation class AperturaMesa2
 */
public class AperturaMesa2 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AperturaMesa2() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String action = request.getParameter("action");
		String jspPage = null;
		BdelegateWeb bd = new BdelegateWeb();
		String combo= null;
		if ("abrirMesa2".equals(action)){
			ArrayList <MozoBean> mozos = bd.getInstancia().ObtenerMozos();
			request.setAttribute("listamozos", mozos);
			MozoBean mozologeo = (MozoBean) request.getSession().getAttribute("mozologeo");
			request.setAttribute("mozologeo", mozologeo);
			//request.setAttribute("idSucursal", idSucursal);
     		//Obtengo los datos de la sucursal
        	//SucursalBean sucursal = bd.obtenerDatosSucursal(idSucursal);
     		//List<MesaBean> mesasSalon = MetodosServlets.getInstancia().buscarMesas(sucursal);
     		//request.setAttribute("mesasSalon", mesasSalon);
     		//ArrayList <MesaBean> mesas = bd.getInstancia().obtenerMesasLibres();
     		//request.setAttribute("mesas", mesas);
     		String comensales = null; 
     		request.getSession().setAttribute("cantComensales", comensales);
			jspPage = "/terMozos/apMesa2.jsp";
		}
		
		
		
		else if ("ConfirmarMesas".equals(action)){
			
			//Integer combomesas= Integer.parseInt(request.getParameter("combomesas"));
			ArrayList <MozoBean> mozos = bd.getInstancia().ObtenerMozos();
     		request.setAttribute("listamozos", mozos);
			//String CantComensales= (String) request.getSession().getAttribute("CantComensales");
			//request.setAttribute("CantComensales", CantComensales);
     		//String combomesas= request.getParameter("combomesas");
     		//System.out.println("La mesa es  " + combomesas );
     		//String combomesas= request.getParameter("combomesas");
     		// String combo = combomesas;
			//System.out.println("La mesa  " + combo );
			//getServletContext().setAttribute("combomesas", combo);
     		String[] mesaselec = request.getParameterValues("combomesas");
     		request.getSession().setAttribute("mesaselec", mesaselec);
     		//request.setAttribute("combo",combo);
     		jspPage ="/terMozos/apMesa2.jsp";
		}
		
		if ("Confirmar".equals(action)){
			Integer idSucursal= Integer.parseInt(request.getParameter("idSucursal"));
			SucursalBean sucursal = bd.obtenerDatosSucursal(idSucursal);
			Integer cantComensales2= Integer.parseInt(request.getParameter("cantComensales"));
			//request.getSession().setAttribute("cantComensales",cantComensales);
			String comensales = (String)request.getSession().getAttribute("comensales");
			//Integer cantComensales = Integer.parseInt(comensales);
			System.out.println("La apert  " + idSucursal );
			//System.out.println("La Cant  " + cantComensales );
			//obtengo mesas seleccionadas
			String[] mesaselec = (String[]) request.getSession().getAttribute("mesaselec");
			ArrayList<Integer>  listamesasselec= new ArrayList<Integer>(); 
			List<MesaBean> mesas = new ArrayList<MesaBean>();
			for (int j=0; j <mesaselec.length; j++){
	    	 Integer mes= Integer.parseInt(mesaselec[j]);
	    	 MesaBean mesa = bd.getInstancia().obtenerMesa(mes);
	    	 mesas.add(mesa);
			}
			 PerfilBean pe= new PerfilBean();
	    	 pe.setId(1);
	    	 MozoBean mozo= new MozoBean();
	    	 Integer mozo1= Integer.parseInt(request.getParameter("combomozo"));
	    	 mozo.setLegajo(mozo1);
	    	 mozo.setPerfil(pe);
	    	 
	    	 
	    	 boolean fallo =bd.getInstancia().abrirMesa(cantComensales2, mesas, mozo, idSucursal);
			jspPage = "./terMozos/confirmacionAP.jsp";
			}
			else if ("MostrarMesas".equals(action)){
				ArrayList <MesaBean> mesas = bd.getInstancia().obtenerMesasLibres();
	     		request.setAttribute("mesas", mesas);
	     		String cantComen = request.getParameter("cantComensales");
	     		request.getSession().setAttribute("cantComensales", cantComen);
	     		jspPage = "/terMozos/selMesas.jsp";
			}
		dispatch(jspPage, request, response);
		
		
	}	
		
	
	 
		 
	 
    	 
		protected void dispatch(String jsp, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	    {
	        if (jsp != null)
	        {
	        	/*Envia el control al JSP que pasamos como parametro, y con los 
	        	 * request / response cargados con los parametros */
	        	RequestDispatcher rd = request.getRequestDispatcher(jsp);
	            rd.forward(request, response);
	        }
	}
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
	
	}
}
